'require fs';
'require rpc';
'require network';
+'require uci';
var callSystemBoard = rpc.declare({
object: 'system',
method: 'info'
});
+var callGetUnixtime = rpc.declare({
+ object: 'luci',
+ method: 'getUnixtime',
+ expect: { result: 0 }
+});
+
return baseclass.extend({
params: [],
network.getWANNetworks(),
network.getWAN6Networks(),
L.resolveDefault(callSystemBoard(), {}),
- L.resolveDefault(callSystemInfo(), {})
+ L.resolveDefault(callSystemInfo(), {}),
+ L.resolveDefault(callGetUnixtime(), 0),
+ uci.load('system')
]);
},
const boardinfo = data[2];
const systeminfo = data[3];
+ const unixtime = data[4];
let datestr = null;
- if (systeminfo.localtime) {
- const date = new Date(systeminfo.localtime * 1000);
-
- datestr = '%04d-%02d-%02d %02d:%02d:%02d'.format(
- date.getUTCFullYear(),
- date.getUTCMonth() + 1,
- date.getUTCDate(),
- date.getUTCHours(),
- date.getUTCMinutes(),
- date.getUTCSeconds()
- );
+ if (unixtime) {
+ const date = new Date(unixtime * 1000);
+ const zn = uci.get('system', '@system[0]', 'zonename')?.replaceAll(' ', '_') || 'UTC';
+ const ts = uci.get('system', '@system[0]', 'clock_timestyle');
+ const hc = uci.get('system', '@system[0]', 'clock_hourcycle');
+
+ datestr = new Intl.DateTimeFormat(undefined, {
+ dateStyle: 'medium',
+ timeStyle: (ts == 0) ? 'long' : 'full',
+ hourCycle: hc,
+ timeZone: zn
+ }).format(date);
}
this.params.router = {